package tree.exp;

import tree.ExpList;
import tree.stm.*;

abstract public class Exp {

    /***/ 
    protected Exp exp;
    
    /**
     * 
     * */
    abstract public ExpList kids();
    
    /**
     * 
     * */
    abstract public Exp build(ExpList kids);
    
    /**
     * 
     * 
     * */
    public Exp unEx(){
            return exp;
    }
    
    /**
     * 
     * */
    public Stm unNx(){
            return new EXP(exp);
    }
    
    /**
     * 
     * */
    abstract public String print();

}